# 继承base，页面的具体操作方法
"""
@File    ：page_login.py
@Author  ：sarah
@Date    ：2023-07-21
@Desc    ：登录界面封装
"""
# 存放login页面的封装信息
import allure
import json

from selenium.webdriver.common.by import By

from utils.timer import sleep
from page_base.page_base import Base
from page_element import el_login
from config_manager import ConfigManager

class PageLogin(Base):
    """登录页面"""
    def page_input_username(self, username):
        """输入登录用户名"""
        self.base_input(el_login.login_username, username)
        # sleep()

    def page_input_passwd(self, password):
        """输入密码"""
        self.base_input(el_login.login_password, password)
        # sleep()
    def page_click_login_btn(self):
        """点击登录按钮"""
        self.base_click(el_login.login_btn)
        # sleep()

    def page_get_error_info(self):
        """获取异常提示信息"""
        return self.base_get_text(el_login.login_err_info)

    #  该方法通常用于 UI 自动化测试场景中，帮助测试人员验证登录功能是否正常
    def page_login(self, username, password):
        sleep(2)
        with allure.step(f"输入用户名: {username}"):
            self.page_input_username(username)
        with allure.step(f"输入密码: {password}"):
            self.page_input_passwd(password)
        sleep(5)
        with allure.step("点击登录按钮"):
            self.page_click_login_btn()


